home *** CD-ROM | disk | FTP | other *** search
-
-
- From: abc@banjo.concert.net (Alan B Clegg)
- Subject: Linux File System Document Revision 1.0
- Date: 9 Mar 92 14:33:45 GMT
-
- Before I get a flamefull response, let me tell everyone that this document has
- been through several revisions, and is currently at a point that has pleased
- most people. Please note that it is a *GUIDELINE* and is not *REQUIRED*, but
- if most people follow the guidelines, we all get along a lot better.
-
- If you have comments/questions about this document, and you are not on the
- linux-standards mailing list, I would ask that you join the list. The request
- address is: linux-standards-request@banjo.concert.net. Please try to keep
- debate off the news group, and on the mailing list.
-
- For those of you on the linux-standards list, the verticle bars in column one
- represent the only changes from draft 2.
-
- ==== SNIP HERE ====
-
- The following is being submitted by Alan Clegg [abc@concert.net] on behalf
- of the Linux-Standards list as the standard for directory file structure
- under Linux.
-
- Revision 1.0
-
- Complete implementation of this file structure is completely voluntary,
- and will not be enforced, but will be recommended. This specification
- is released as guidelines for people porting and writing software for
- the Linux Operating System to allow easy software installation, upgrade, and
- tailoring on already installed systems.
-
- Root Directory:
-
- Files:
- {none defined by spec}
-
- Directories:
- bin dev etc home lib mnt usr
-
- Rationale:
- The root directory should not be cluttered with files or
- directories, and should contain no user programs.
-
- /bin Directory:
-
- Files:
- sh init mount umount dd cat ls fsck {and as needed}
-
- Directories:
- {none defined by spec}
-
- Rationale:
- The /bin directory should contain programs that are vital
- to the restoration of other file systems in the case of
- a corrupting crash. No executable in /bin should require
- any other file system to be mounted to execute correctly.
-
- /dev Directory:
-
- Files:
- {device files}
-
- Directories:
- {none define by spec}
-
- Rationale:
- Standard UNIX device files. This directory should contain
- device entries for all devices that are supported in the
- standard kernel, even if the hardware device does not exist
- on the system.
-
- /etc Directory:
-
- Files:
- mtab passwd rc ttytab {and as needed}
-
- Directories:
- {none defined by spec}
-
- Rationale:
- Standard location of files required during system boot. Files
- in this directory are usually system specific. Most will
- | require human intervention during system upgrade. /etc will
- | also contain administrative binaries that should not be in
- | the normal users PATH.
-
- /home Directory:
-
- Files:
- NONE
-
- Directories:
- {one per user excepting root}
-
- Rationale:
- Standard location of users home directories. Will most likely
- be a mounted file system once the system is up. root's home
- directory should be /.
-
- /lib Directory:
-
- Files:
- {libraries required for system initialization}
-
- Directories:
- {none defined by spec}
-
- Rationale:
- To keep the size of the root partition small (if separate from
- /usr), the files in this directory should only be ones required
- by files in the root partition.
-
- /mnt Directory:
-
- Files:
- NONE
-
- Directories:
- NONE
-
- Rationale:
- Standard mount point for external (transient) file systems.
- Must be available for sub-system installation. Should remain
- as an empty directory.
-
- /tmp Directory:
-
- Files:
- NONE
-
- Directories:
- NONE
-
- Rationale:
- Temporary file space available for general program use. May
- become a mounted partition upon system boot.
-
- /usr Directory:
-
- Files:
- {none defined by spec}
-
- Directories:
- adm bin spool local lib etc man include src tmp
-
- Rationale:
- /usr is the mount point for the second major (after root)
- hierarchy of file structure and is discussed in the next
- section.
-
- /usr/adm Directory:
-
- Files:
- {none defined in spec}
-
- Directories:
- {none defined in spec}
-
- Rationale:
- Location of log files and accounting information.
-
- /usr/bin Directory:
-
- Files:
- {all executable files from standard distribution not contined
- in /bin}
-
- Directories:
- {none defined in spec}
-
- Rationale:
- contains 'drop-in' executables that are considered to be
- standard to the UNIX system. These files should NOT be
- Linux specific, but should have the same function as their
- UNIX equivalents.
-
- /usr/etc Directory:
-
- Files:
- {none defined in spec}
-
- Directories:
- {none defined in spec}
-
- Rationale:
- contains configuration files for any files in /usr/bin. helps
- to keep /etc clean and small.
-
- /usr/spool Directory:
-
- Files:
- {none defined in spec}
-
- Directories:
- uucp mail
-
- Rationale:
- containes spool files for mail, printing, uucp transfer, etc.
- May be a mount point for another volume.
-
- /usr/local Directory:
-
- Files:
- NONE
-
- Directories:
- bin lib etc man src
-
- Rationale:
- contains files local to the specific system. will not be
- modified by upgrade process.
-
- /usr/lib Directory:
-
- Files:
- libc.a crt0.s {and as needed}
-
- Directories:
- {none defined in spec}
-
- Rationale:
- location for library files required for multi-user system
- operation. This is the directory where program libraries
- | should reside. /usr/lib will also contain binaries required
- | to support programs residing in /usr/bin.
-
- /usr/man Directory:
-
- Files:
- NONE
-
- Directories:
- man1 man2 man3 man4 man5 man6 man7 man8
-
- Rationale:
- Contains manual pages for programs that are standard with
- Linux.
-
- /usr/include Directory:
-
- Files:
- {programmers include files}
-
- Directories:
- {as needed}
-
- Rationale:
- Standard place for system include files.
-
- /usr/src Directory:
-
- Files:
- NONE
-
- Directories:
- bin lib linux usr.bin usr.lib
-
- Rationale:
- Contains source code for all applications in the release.
- /usr/src/linux contains directories required for kernel builds.
-
- /usr/tmp Directory:
-
- Files:
- NONE
-
-
- Directories:
- NONE
-
- Rationale:
- Used as additional scratch space for programs. If /tmp is
- a mounted file system, /usr/tmp may be a symbolic link to
- /tmp.
-
- --
- abc@concert.net Alan Clegg - Network Programmer
- KD4JML (just my luck!) MCNC -- Center for Communications
-
- [/home1/c/colin/steve] >